Apparatus and method for handling a message

ABSTRACT

The subject matter discloses a method and a computer readable medium, storing a message handling program, to read and execute following steps: receiving the message, said message is generated by a machine in a structured format, the message comprises a link to a web address; extracting the link from the received message; determining an action to be performed by a user of the computerized device according to the pattern associated with the received message; associating the link with the action.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to web-based services provided to users ofcomputerized devices and overlaying uniform user interfaces overequivalent services in particular.

2. Discussion of the Related Art

Travel suppliers such as airlines typically provide customers a websiteand possibly a mobile website where customers can take actions likechecking-in to a flight, selecting a seat, checking flight informationand the like. Such customers are users of the travel suppliers websitesor computerized applications and need to navigate to the site URL to usesuch services. In the site, customers are also required to navigate amenu system to reach the page of the desired action. While theseservices are generally comparable, each supplier has a separate website,at a different address (URL), with a different menu system andlook-and-feel. Furthermore, the different settings of each site arechanged from time to time by the suppliers. Typically, to reach such asite, users need to manually enter the URL, or click a link provided ina message such as an email or SMS to reach the specific address orperform a specific action within the site. Separate bookmarks ormessages are required for each supplier or action. This lack ofconsistency is detrimental from the user's perspective as the user needsto learn how to navigate and use multiple different systems thatessentially perform the same operations, and needs to manually retrievethe right addresses for each supplier and/or action.

In order to provide a user with one-click access to these services, aset of bookmarks or messages needs to be stored on the customer's mobiledevice or computerized device a-priori, taking into account all thepossible travel suppliers that may provide such services. In such asystem, all these addresses also have to be updated from time to time incase a provider is added or changes the location or structure of theirmobile website. Also in such a case, specific information pertaining toa future reservation made by a traveler or a customer cannot be encodedas it is not known a-priori.

Alternatively, the user is required to either manually enter a URL inreal time, or find the link in a message sent to him. Each of theseactions is time consuming and relatively uncomfortable to perform on amobile device.

SUMMARY OF THE INVENTION

It is an object of the subject matter to disclose a method of handling amessage at a computerized device, comprising receiving the message, saidmessage is generated by a machine in a structured format, the messagecomprises a link to a web address; extracting the link from the receivedmessage; associating the message to a known pattern to determine anaction to be performed by a user of the computerized device according tothe pattern associated with the received message; and associating thelink with the action.

In some cases, the link comprises mark-up language. In some cases, thelink is a deep-link enabling inputting information into a specific webpage. In some cases, the link includes information that is required tobe passed to fields in the web page. In some cases, the method furthercomprises a step of automatically filling fields in the web page. Insome cases, the step of automatically filling fields in the web page isperformed by a server.

In some cases, the method further comprises a step of displaying theaction on a display unit of the computerized device. In some cases, themethod further comprises a step of determining the time in which theaction is suggested and displaying the action on the determined time. Insome cases, the method further comprises a step of generating an icon onthe display unit of the computerized device, said icon displays theaction, such that pressing the icon activates one or more commands thatperform the message in a manner transparent to the user.

It is another object of the subject matter to disclose a computerreadable medium, storing a message handling program, to read and executethe steps disclosed above.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary non-limited embodiments of the disclosed subject matter willbe described, with reference to the following description of theembodiments, in conjunction with the figures. The figures are generallynot shown to scale and any sizes are only meant to be exemplary and notnecessarily limiting. Corresponding or like elements are optionallydesignated by the same numerals or letters.

FIG. 1 shows a computerized environment for handling messages in auser's device, according to exemplary embodiments of the subject matter;

FIG. 2 shows a computerized method for handling messages at a user'sdevice, according to exemplary embodiments of the subject matter;

FIG. 3 shows a computerized system for handling messages at a user'sdevice, according to exemplary embodiments of the subject matter;

FIG. 4 shows a method for handling messages and components used toimplement the method, according to exemplary embodiments of thedisclosed subject matter;

FIG. 5 shows a user's device behavior in for handling messages,according to exemplary embodiments of the subject matter.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The subject matter discloses a system and method for providing a uniformuser experience and simplifying user interaction by handling messagessent to a computerized device, such as a Personal computer or a mobiledevice. The messages may be sent from a supplier to a consumerassociated with a message account such as an email account or an SMSaccount. The subject matter may be used for messages sent from travelsuppliers, retails suppliers, entertainment suppliers and the like.

The method comprises a step of receiving a message concerning an action.The message may be received by an email client, at the email server, atan SMS server and the like. After detection of the message, the messageis parsed to determine whether an action is contained in the receivedmessage. Such action may be checking in, making a reservation, updatingreservation, paying, verifying a purchase, checking stock values,buying, selling and the like.

According to some exemplary embodiments of the subject matter, themessage sent to the user contains a link. The link may be a standard URLlink to a web page or another data representing an address. The link maybe to a content provider, for example a website of the travel supplier.The website can alternatively be a computerized application availableonly upon receipt of the message from the supplier, not to any personsurfing the internet.

After receiving the message that contains the link, the processor thathandles the message associates the message with one or more actions. Theactions may be described in the message itself. Alternatively, theaction is derived from or identified by the data stored at the addresstargeted in the link. In such case, the processor retrieves data fromthe link target and determines the action according to the data storedat the link. A storage unit communicating with the processor stores aplurality of actions and settings related to the actions, such asformats and data fields. The storage unit may store identifiers ofactions and link targets, such that a link target is associated with anaction using the identifiers.

In some exemplary cases, the message is not associated with an action,but includes links to actions as a by-product. In addition, the messageis not processed to figure out the actions but to match to an existingpattern—in which the actions were already figured out. Rather, thespecific URL for the specific action by the specific user is extracted.

FIG. 1 shows a computerized environment for detecting messages in auser's device, according to exemplary embodiments of the subject matter.The computerized environment 100 comprises a sender 110 for sendingmessages to a receiver's device 130 via a network 120. The sender may bea colleague, a travel agency, a hotel, a theatre, a service provider, aretail manager or another person or entity related to an action to beperformed by the user of the receiver's device 130.

The receiver's device 130 comprises a communication receiver, such as anemail client 140 or another unit for detecting other messages such asSMS, MMS, instant messages and the like. The receiver's device 130 mayalso comprise a communication detector, such as a communication grabber150, for detecting messages received at the communication receiver. Thecommunication detector comprises a set of rules according to which adetected message is associated with a predetermined action, such aspurchase of commodity. The grabber 150 listens to messages received at auser's account. The grabber 150 may also analyze the received message todecide how to handle it. If the grabber 150 is located at the receiver'sdevice 130, the first step is determining whether the received messageshould be handled or not. In some cases, the second level parsing andthe extraction of the data from the received message are performed atthe server.

The communication detector may comprise a parser unit for parsing atleast a portion of the detected message. The parsing unit may parse onlya predetermined field or segment of the detected message, for examplethe sender field, the subject, the first 100 characters and the like.The parsing may include two phases. The first phase provides for parsingthe message according to the domain from which the message was sent, forexample from a domain listed in a storage connected to the communicationgrabber 150. Such storage includes a set of rules and domain namesrelated to the predetermined field, such as domain names of travelagencies, car rental agencies, service providers and the like. Thesecond phase of the parsing includes exclusion of keywords such asreminder and cancellation, detecting regular expressions on subject andattachment name, and searching in email body. The set of rules on theuser's device 130 may be modified frequently or according to actionsmade by the user. Such modifications may result from periodic updatesmechanism or pushed updates etc received from a central unit handlingthe rules. The user's device 130 also communicates with a website 170.The website 170 comprises a web page or an online application to whichthe link of the received message points.

FIG. 2 shows a computerized method for handling messages at a user'sdevice, according to exemplary embodiments of the subject matter. Instep 210, the message is received at the user's device. The message maybe an email, SMS, instant messaging communication and the like. Theuser's device may be a mobile device, a personal computer, laptop andthe like. The message received at the user's device is generated by amachine, not by a person. The message may have a standard format sent tomultiple users or recipients. In step 215, the received message isparsed by a parser. In some cases, the parser contains data related tothe location of specific data fields in the message, when the message isprovided in patterns.

In step 220, data is extracted from the received message. Such data mayinclude time, action, supplier such as a car rental agency, prices andthe like. In some cases, the content of the message is compared with alist of actions stored at the user's device or at a server performingthe method of the disclosed subject matter. The list of actions maycontain actions such as “update”, “cancel”, “check-in”, “book”, “buy”,“change” and the like. In some other exemplary cases, the message isassociated with a pattern of messages, such as a standard message from aspecific company. The pattern is analyzed to associate an action withthe data extracted from the pattern. As a result, the received messageis associated with an action according to the pattern

In step 230, a link contained in the received message is extracted fromthe message. The link may be a standard link to a web page or anotherdata representing an address or a location in the website of an entityassociated with the message. The entity associated with the message maybe the sender or another supplier of services or goods offered orincluded in the message. For example, a message from a travel agency mayinclude a link to a hotel website or a link to a hotel mobileapplication. The website can alternatively be a computerized applicationavailable only upon receipt of the message from the supplier, not to anyperson surfing the internet. In some cases, the message may be comparedto a known pattern, in which links to actions are embedded, to retrievethe specific links sent to the user in the message.

In step 240, the link and other data extracted from the received messageare associated with an action. For example, when receiving an emailmessage concerning a flight that requires the user to check-in, a linkto check-in appears in the message. The action, check-in, also appearsin the message. In some exemplary cases, the link and action are alsoassociated with an event, such as the time a purchased item is to bedelivered to the person who received the message. Such event may also bea flight.

In step 245, an icon is generated on the user's device. Generation ofthe icon may be performed at the user's device or by a servercommunicating with the user's device. The icon enables the user toperform the action extracted from the received message. The action maybe performed by pressing the icon, as pressing the icon activates acommand or several commands. Such commands may be filling data at apredefined address, sending a cancellation message and the like.

In step 250, a time may be associated with the action. The time is usedto determine when to display the action associated with the receivedmessage. Such time may also be associated with the event, and with ageneral rule concerning the event. For example, when the messagecontains the action of checking in a flight, the flight time is relevantto the time the user is required to check-in. Such time may be 24 hoursbefore the flight for suggesting the user to check-in. In some cases,the actions are displayed immediately after associated with the dataextracted from the received message.

In step 260, the action is displayed to the user. The action may bedisplayed by an icon generated in step 245. The action may be displayedusing an icon on the user's display device. Activating the actionenables the user to directly point at the specific web page or webapplication without the requirement to look for the message, which inmany cases is received weeks before the date of the action, or otherwiselocate or enter the link. The format of the action displayed to the usermay be generic. In such cases, displaying the action to the user whenperforming the action makes the format of the message irrelevant. Instep 270, the link is opened using a browser. When the link is opened, asoftware agent in the computerized device, such as user's device 130,may fill data fields in the webpage in order to facilitate the actionfor the user. In some cases, the link contains the data to be inputtedin the data fields in the webpage. In some other cases, inputting datain the data fields is performed using a screen scraping method. The datainputted in the data fields may enable authentication of the user of thecomputerized device, may reduce the number of data fields to be inputtedby the user and the like. The data automatically inputted in step 270may be stored in the computerized device or in the application server,such as 160 of FIG. 1.

FIG. 3 shows a computerized system for handling messages at a user'sdevice, according to exemplary embodiments of the subject matter.

The system 300 comprises a receiver 330. The receiver 330 receives a newmessage at the message account of the user, for example an incoming SMSor an email message. The receiver 330 may listen to the email account ofthe user's device or to an email server associated with the user's emailaccount. The receiver 330 may be implemented in a copy of the messageaccount stored in the application server or in the user's computerizeddevice. Upon receiving a new message to the user, the receiver 330notifies a processor 310 of the system 300 that a message has beenreceived. The receiver 330 may not be connected to the message accountof the user, as in some cases the user of the computerized deviceactively sends the message to the system.

The processor 310 receives the message from the receiver 330 orretrieves the message from the message server. The processor 310 mayparse the received message and extract the link from the message. Theprocessor 310 may further determine which of a plurality of links isassociated with the computerized device used. For example, the messagemay contain two or more links for performing the same action, such as“update”, each meant to be used on a specific class of computerizeddevice—for instance a desktop computer, a Smartphone and the like. Insuch case, the processor 310 determines the proper link according to thedevice in which the action is to be performed. The processor 310 mayfurther extract an action from the message. Extracting the action may beperformed by comparing the message against a known pattern. Extractingthe action may also be performed by comparing data parsed from themessage with a plurality of actions stored at storage 340. The processor310 may also associate the extracted link and the action. Suchassociation may be performed by a set of rules or by the content of themessage. The processor 310 may also determine the time to use the linkto perform the action. The time determined by the processor 310 may beused to activate a reminder on the user's device to perform theextracted action. Such time may be 2 hours before the action, forexample in case the action requires opening the link to register for alecture, or 24 hours, for example in case the event is a flight and theaction is checking in the flight.

The processor 310 may be connected to a storage unit 340 that containsrules concerning identifying a link and an action from the receivedmessage. In some exemplary cases, the storage unit 340 stores rules thatare received from a server that may also extract data from the receivedmessage. Such rules received from the server concern extraction ofcontent from messages and associating time with the action and the link.The rules may also be sent from an application server such as 160 ofFIG. 1.

The system 300 may also comprise a transmitter 320 for transmittingmessages to an entity external to the system 300. The transmitter 320may alternatively send messages from a remote location such as an emailserver when the system 300 is located externally to the user's mobiledevice. The transmitter 320 may also send an alert in case the action isrequired at a specific time and the user did not perform it using thesuggested link.

The system 300 may further comprise a user interface module 350. Theuser interface module 350 provides the user a display of the link. Theuser interface module 350 may display the link in a generic format or ina format related to the action or to the link, or according to a ruledefined by the user or according to a rule stored in the storage unit340.

FIG. 4 shows a method for handling messages and components used toimplement the method, according to exemplary embodiments of thedisclosed subject matter. The message is received at a user's inbox 410.The user's inbox 410 may reside at an email server. Alternatively orsimultaneously, the message may be received at the user's computerizeddevice 420, such as the user's mobile device. The received message maybe a travel message 425 or any other message that involves an action.The received action may also relate to entertainment, culture, politics,sports, education and the like.

A parsing unit 430 parses the received message. The parsing may extractthe action and other relevant data from the received message. Suchrelevant data may be time, sender identity, message type, computerizeddevice used to perform the action, link and the like. The parsing unitmay receive a message at a predefined format. For example, travelagencies and flight companies send email messages at a predefinedformat. Such format may be stored at the parsing unit for extractingdata fields from known patterns.

The parsing unit 430 determines whether the received message relates toa flight 442, a car registration 444, a hotel registration 446 and thelike. The parsing unit 430 further extracts actions 450. The dataextracted from the parsing unit 430 is transmitted to a logic unit 455.The logic unit 455 analyzes the data extracted from the parsing unit.For example, the logic unit 455 generates icons associated with theactions 450. The import logic 455 determines the actions 450 to besuggested to the user. The import logic further determines other offersto be suggested to the user 470, not only actions. Such offers mayrelate to update or change parameters related to previous registrations.For example, in case the import logic 455 stores a hotel registrationthat fits the user more than a previous registration. For example, incase the user registered to a hotel and two weeks later the hotel has abetter price, the import logic 455 may send a message to the user 470with the relevant data and a link to an action of cancelling theprevious order and performing a new one.

The import logic 455 may also be connected to a trip database 460. Thetrip database stores data related to the user's trips. In some cases,the import logic is a server communicating with multiple users and thetrip database 460 stores data related to multiple users trips. The tripdatabase 460 stores dates, prices, events, meetings and the like. Datarecords related to the trip may be stored at the trip database 460.Similarly, data related to other topics may be stored in other databasessuch as family database, work database, entertainment database and thelike. The data records stored in the trips database 460 may be a flightrecord 475 and a hotel record 480. The flight record 475 is associatedwith flight action 472 and the hotel record 480 is associated with ahotel action 482. The user may review the suggested actions and performsuch actions from several systems and architectures, such as emailmessage 495, mobile application 492 and a website 490 associated withthe method of the disclosed subject matter.

FIG. 5 shows a user's device behavior in for handling messages,according to exemplary embodiments of the subject matter. The user'sdevice 510 may be a smartphone, a cellular phone, a PDA, a tablet, alaptop and the like. The user's device 510 comprises a receiver 515 usedto receive signals. The receiver 515 may be an antenna. The signals maybe messages handled by the method and system of the subject matter. Theuser's device 510 comprises a display unit. The display unit displaysdata to the user, for example time, received messages, files, and thelike. The user may also use the display unit 540 to input data into theuser's device 510, for example using a touch screen keyboard.

When a message is received at the user's device 510, an action isextracted from the message or identified by a computerized entityhandling the received message. Along with the action, the computerizedentity may also determine a time for performing the action, a link usedto perform the action, and other data relevant for facilitating the userin performing the action.

The computerized entity may also determine to display an icon on thedisplay of the user's device 510. Such icon may be used to perform theaction in a manner transparent to the user. For example, when a “cancel”icon 530 is generated, the icon 530 is displayed immediately or at thetime determined by the processor 310. When the user presses the “cancel”icon 530, a set of commands or operations is activated. The set ofcommands or operations may be stored at the user's device 510 or at astorage communicating with the user's device and used to facilitateperforming of such actions. The user is not aware of any actual actionsperformed as part of the set of actions, for example browsing, fillingdata, activating an add-on software module and the like. Similarly, theuser may press “upgrade” icon 533 and “check-in” icon 535 to performthese actions. The icons may also represent other actions, such asupdate, confirm and the like. Data relevant to the actions may bedisplayed in action display 520. For example, when the actions in icons530, 533 and 535 relate to a flight, the action display 520 displaysitems related to the flight, such as the flight number and the like.

In some cases, the information obtained from the received message is notsufficient to perform the action, for example to send the data to aservice provider. For example, a “check-in” link may include a user'se-ticket and last name, but the user may need additional information tocomplete the action. Such additional information may be the user'spassport number or frequent flyer number. In some cases, the system maycomplete such additional information into an automated flow. The systemof the disclosed subject matter obtains the additional information fromits own databases, for example a database storing information aboutusers, a user profiles etc. The system may also obtain additionalinformation related to other types of information, such as userpreferences, for example ‘window seat’, ‘meal type’ and the like.

In some exemplary cases, the method of the subject matter also comprisesa step of automatically performing the actions associated with thereceived message. For example, instead of asking the user to press anicon or a button in order to command execution of an action, the usermay configure the system, either a mobile application or website, toautomatically perform some actions. The system may use the data obtainedfrom the received message and data stored at the system in order toperform the action. For example, the user may dictate automatic check-in24 hours before flights. This facilitates the user and saves time andenergy.

While the disclosure has been described with reference to exemplaryembodiments, it will be understood by those skilled in the art thatvarious changes may be made and equivalents may be substituted forelements thereof without departing from the scope of the invention. Inaddition, many modifications may be made to adapt a particular situationor material to the teachings without departing from the essential scopethereof. Therefore, it is intended that the disclosed subject matter notbe limited to the particular embodiment disclosed as the best modecontemplated for carrying out this invention, but only by the claimsthat follow.

1. A method of handling a message at a computerized device, comprising,receiving the message, said message is generated by a machine in astructured format, the message comprises a link to a web address;extracting the link from the received message; determining an action tobe performed by a user of the computerized device according to a patternassociated with the received message; associating the link with theaction.
 2. The method according to claim 1, wherein the link comprisesmark-up language.
 3. The method according to claim 1, wherein the linkis a deep-link enabling inputting information into a specific web page.4. The method according to claim 1, wherein the link includesinformation that is required to be passed to fields in the web page. 5.The method according to claim 4, further comprises a step ofautomatically filling fields in the web page.
 6. The method according toclaim 5, wherein the step of automatically filling fields in the webpage is performed by a server.
 7. The method according to claim 1,further comprises a step of displaying the action on a display unit ofthe computerized device.
 8. The method according to claim 7, furthercomprises a step of determining the time in which the action issuggested and displaying the action on the determined time.
 9. Themethod according to claim 7, further comprises a step of generating anicon on the display unit of the computerized device, said icon displaysthe action, such that pressing the icon activates one or more commandsthat perform the message in a manner transparent to the user.
 10. Themethod according to claim 1, further comprises a step of associating thereceived message to a known pattern to determine the action associatedwith the received message.
 11. A computer readable medium, storing amessage handling program, to read and execute following steps: receivingthe message, said message is generated by a machine in a structuredformat, the message comprises a link to a web address; extracting thelink from the received message; determining an action to be performed bya user of the computerized device according to the pattern associatedwith the received message; associating the link with the action.